/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package _2_Servlet;

import _1_Bean.LoginBean;
import _1_Bean.UserProfileBean;
import _3_Object.UserProfileObject;
import _4_Mapper.UserProfileMapper;
import java.io.IOException;
import java.io.PrintWriter;
import javax.jms.Session;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author DOM
 */
@WebServlet(name = "AccLoadProfile", urlPatterns = {"/AccLoadProfile"})
public class AccLoadProfile extends HttpServlet {

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            //Kiểm tra đã đăng nhập chưa
            HttpSession s = request.getSession();
            LoginBean account = (LoginBean) s.getAttribute("Account");
            if (account == null || account.getuID() == -1) {
                response.sendRedirect("./Login");
                return;
               
            }
            
            //day object qua bean
            int uid = account.getuID();
            UserProfileObject userObject = UserProfileMapper.upo(uid);
            UserProfileBean userBean = new UserProfileBean();
            userBean.setAbout(userObject.getAbout());
            userBean.setAvatar(userObject.getAvatar());
            userBean.setBirth(userObject.getBirth());
            userBean.setCreatedate(userObject.getCreatedate());
            userBean.setEmail(userObject.getEmail());
            userBean.setName(userObject.getName());
            userBean.setNick(userObject.getNick());
            userBean.setPhone(userObject.getPhone());
            userBean.setSetting(userObject.getSetting());
            userBean.setSex(userObject.getSex());
            userBean.setUrl(userObject.getUrl());
            userBean.setuID(userObject.getuID());

            //day bean qua request
            
            request.setAttribute("userProfile", userBean);
            
             if(request.getParameter("edit")!= null && request.getParameter("edit").equals("ok"))
            {
                RequestDispatcher dis = request.getRequestDispatcher("./ThongTinCaNhan.jsp");
                dis.forward(request, response);
                return;
            }
            
                RequestDispatcher dis = request.getRequestDispatcher("./Home.jsp");
                dis.forward(request, response);
            

        } 
        catch(Exception ex)
        {
            System.out.println("Loi: "+ ex.getMessage());
        }
            finally {
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
